package com.example.server.web.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.server.web.domain.CourseClassTeacher;
import com.example.server.web.domain.dto.CourseClassTeacherParamDto;
import com.example.server.web.domain.page.PageQueryDto;

import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 作者
 * @since 2023-04-04
 */
public interface CourseClassTeacherService extends IService<CourseClassTeacher> {

    /**
     * 关联课程-班级-教师
     */
    void add(CourseClassTeacher courseClassTeacher);

    /**
     * 通过班级id或者教师id查询课程（模糊查询可以通过年份去筛选）
     * @param courseClassTeacher
     * @param pageQueryDto
     * @return
     */
    Map getPage(CourseClassTeacher courseClassTeacher, PageQueryDto pageQueryDto);

    /**
     * 通过用户id查询课程（模糊查询可以通过年份去筛选）
     * @param studentId
     * @param pageQueryDto
     * @return
     */
    Map getPageByStuId(Long studentId, PageQueryDto pageQueryDto);

    /**
     * 查询出所有课程关联的分页信息
     * @param paramDto
     * @param pageQueryDto
     * @return
     */
    Map getAllToPage(CourseClassTeacherParamDto paramDto, PageQueryDto pageQueryDto);
}
